#import "eventListener.h"
#import "collaboration.h"
#import "event.h"

/**
* @brief Clase que modela un objeto que acepta listeners de
*        eventos distribuidos
* @author Carlos Rodriguez Dominguez
* @date 17/11/2008
*
* Estos objetos se podran registrar en el manejador de eventos 
* para enviar y recibir eventos distribuidos. Todo componente
* que desee recibir este tipo de eventos debera heredar de esta
* clase o disponer de una instancia de ella. Para recibir un
* tipo concreto de eventos, debera crearse un listener apropiado.
*/
@interface ListeningObject : NSObject {
	NSMutableArray* listeners;
}

-(int) listenerPosition:(NSString*)name;
-(void) addEventListener:(id<EventListener>)ev;
-(void) removeEventListener:(id<EventListener>)ev;
-(void) removeEventListenerWithName:(NSString*)name;
-(void) listen:(Event*)evt;

@end
